Codifica di linea in telecomunicazioni è il processo in cui un messaggio/pacchetto dati viene adattato (modulato) secondo le caratteristiche della linea di comunicazione usata. Come si può vedere dallo schema, la trasmissione dati passa attraverso tre tipi di codifica, a loro volta usati per inviare un messaggio o per decodificarlo e riceverlo. Di seguito vengono schematizzati e commentati i passaggi che compongono una codifica generalmente usata.
Nelle centrali numeriche e nei computer i dati transitano in codice NRZ dove all'1 logico corrisponde il livello alto e allo 0 logico il livello basso. Questa codifica è, però, incompatibile con doppini telefonici, cavi coassiali o fibre ottiche perché non consente la rigenerazione e, avendo una componente continua, non riesce a passare attraverso i traslatori differenziali delle centraline telefoniche. La codifica procede allora con l'RZ, il cui spettro contiene la frequenza portante e ancora la componente continua.
Nella codifica di linea uno dei codici più usati è l'AMI (Alternate Marking Inversion) a tre livelli in cui al bit 0 corrisponde sempre il livello 0 e al bit 1, invece, corrispondono alternativamente +1 e -1, in modo che il valore medio del segnale sia sempre zero. Avendo poi necessità di rigenerare il clock anche in presenza di lunghe sequenze di 0, si usa spesso la Codifica HDB3.
Un altro vantaggio della codifica di linea AMI è l'abbassamento della frequenza di cifra Fc e dato che su doppino telefonico in rame l'attenuazione è circa proporzionale alla radice quadrata della frequenza con tale abbassamento della frequenza di cifra si riesce ad abbassare l'attenuazione consentendo dunque una maggiore velocità di trasmissione o una maggiore lunghezza di collegamento a parità di bit-rate.